home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 July: Mac OS SDK / Dev.CD Jul 97 SDK1.toast / Development Kits (Disc 1) / Apple Guide / Engineering / RenoDB Library / RenoData / RenoData.h < prev    next >
Encoding:
Text File  |  1994-05-25  |  14.5 KB  |  418 lines  |  [TEXT/MPS ]

  1. // Copyright ©1994 Apple Computer, Inc. All rights reserved.
  2. // Author:    John R. Powers, III
  3. // Date:    04-Feb-93
  4.  
  5. // ============================= RenoData.h ===========================
  6. //
  7. // Constants for Reno data resources.
  8. // Also used by RenoTheApp
  9.  
  10. #ifndef __RENODATA__
  11. #define __RENODATA__
  12.  
  13. /*
  14.     27-May-92    extract application constants, put into RenoDefinitions.
  15.                 return control constants to this file.
  16.                 return Howdy string constants to this file.
  17.     28-Jun-92    add kHuhBtnEventId, kAppLogoId, kAppTextId.
  18.     11-Aug-92    Added kResKeyDump and kResKeyDumpLabel for the key dump structure.
  19.     13-Aug-92    Moved the kSliderScope here from RenoDefinitions.h.
  20.     17-Aug-92    Add kTargetReno ('r***')
  21.     02-Sep-92    Add kResMaskGroup, kResSTxtGroup, kResSTxtTransGroup.
  22.                 Add kResSTxtTrans objects and text suffixes.
  23.     06-Oct-92    Add kResSTxt0-9 and kResSTxtTrans0-9
  24.                 Add new RenoDB resource types.
  25.                 Change kAppRelease from 32 (1.0a3) to 35 (1.0a6)
  26.                 Change kDataVersionNumber from 1.0d2 to 1.0a6.
  27.                 Add kDataHeaderType ('<DF>') and its label.
  28.     16-Nov-92    GB Removed "kCntx" defines, moved to Context.h in the Reno:Modules folder
  29.     17-Dec-92    Add kNotDefinedV to AccWin views.
  30.     24-Jan-93    Add kResMovieB ('pcMB')
  31.     29-Jan-93    Rename kAppRelease as kAppMinSeqNum.
  32.                 Add kResVersionInfo resource.
  33.                 Move kAppMinSeqNum from the kDataVersionBytes
  34.                 used in the database 'vers' resources
  35.                 to the kResVersionInfo resource.  
  36.                 Revise howdy string id numbers (from STR# to TEXT.)
  37.                 Add kVersionInfoAppID and kVersionInfoDataID.
  38.     02-Feb-93    Changed Howdy TEXT ID's from 1002 and 1003 to 502 and 503.
  39.     20-Feb-93    Add kResPanelTopic ('ppPT').
  40.     23-Feb-93    Add kMinV and kMaxV constants to represent the minimum and
  41.                 maximum view numbers used to start Reno.
  42.     24-Feb-93    Added GoStartButton defines.
  43.     03-Mar-93    Remove kDummyV (-2) and kQuesV (-1).
  44.     24-May-93    Added kHandlerMapResType and kHandlerMapResTypeLabel.
  45.  
  46. // 22-Sep-93 1.1d1e7 <2.14> PVC
  47. // Move    kResPanelTopicSub define to RenoData.h.
  48. //
  49. // 05-Oct-93 1.1d1e10 <2.15> JRP
  50. // Add kResSTxtAlign panel object and kResSTxtAlignLabel.
  51. // Add kResSTxtAlignTrans panel object.
  52. // Add kResActionOnShow and kResActionOnHide panel objects.
  53. // Add kResPanelTopicBra panel.
  54. //
  55. // 19-Oct-93 1.1d1e11 <2.16> JRP
  56. // Add kResActionOnCreate.
  57. // Add kResActionOnDelete.
  58. // Add kResActionOnShowOnce.
  59. // Add kResActionOnHideOnce.
  60. //
  61. // 26-Oct-93 1.1d2e2 <2.14> JRP
  62. // Add kTargetEventList.
  63. //
  64. // 08-Nov-93 1.1d2e6 <2.15> JRP
  65. // Add kResCtrlItemIdIsRoot.
  66. //
  67. // 04-Feb-94 1.2b3e2 <3.01> JRP
  68. // Add #if __WantScrollingText__ to include/exclude TPoSTxtScroll
  69. // andTPoSTxtScrollFormat. This neat feature is not accessible by authors.
  70. //
  71. // 04-Feb-94 1.2b6e3 <3.02> PVC
  72. // Add drop in object resources.
  73. //
  74. // 04-May-94 1.2b12e3 <3.03> PVC
  75. // Add default content check topic resource type (kResTopicContextChecks).
  76. //
  77. // 08-May-94 1.2b13e1 JRP
  78. // Change kCopyright and kProgramName
  79. // to kDataCopyright and kDataProgramName
  80. // to avoid label conflicts in the 'vers' resource.
  81. //
  82. // 23-May-94 1.2b16e1 PVC
  83. // Add kSliderDirectionScope, an optional resource that specifies whether the slider
  84. // is right to left or left to right ( default no resource is left to right ).
  85.  
  86.  
  87. */
  88.  
  89.                                         // Feature selection
  90.  
  91.                                 // Set __WantScrollingText__ to 1
  92.                                 // to include the scrolling text panel object.
  93.                                 // This flag must be set in
  94.                                 // RenoData.h and RenoDefinitions.h.
  95.  
  96. #define __WantScrollingText__    0
  97.  
  98.                  // Version information for App (Reno)
  99.                 // This is the oldest (earliest) compatible app version.
  100.                         // kAppMinSeqNum = 29 + app alpha release.
  101.                         // EG: 29 + a1 = 30, 29 + a14 = 43.
  102.                         // This information goes into the kResVersionInfo
  103.                         // resource in the database.
  104.                         // 05-Feb-93 1.0a14 JRP    New.
  105.  
  106. #define kAppMinVersionString    "1.0 or newer"
  107. #define kAppMinSeqNum            52
  108.  
  109.                 // Default version information for DATA
  110.  
  111. #define kDataVersionString  "1.0"
  112. #define kDataRelease        1
  113. #define kDataRevision        0
  114. #define kDataInternalStage    0
  115. #define kDataVersionDate    "21-Jul-93"
  116. #define    kDataVersionBytes    kDataRelease, kDataRevision, alpha, kDataInternalStage, verUs
  117. #define kDataProgramName    "Apple Guide"
  118. #define    kDataCopyright        "©1994 Apple Computer,Inc. All rights reserved."
  119.  
  120.                                         // Resource types (2nd letter)
  121. #define kResTypePanel        'p'
  122. #define kResTypeQualifier    'q'
  123. #define kResTypeContent        'c'
  124. #define kResTypeContext        'x'
  125. #define    kResTypeAction        'a'
  126. #define kResTypeFormat        'f'
  127.  
  128.                                         // Mask for first three letters of type
  129. #define kResMaskGroup        0xFFFFFF00
  130.                                         // Database version information
  131. #define kResVersionInfo        'acVI'
  132.  
  133.                                         // Access data resources
  134.  
  135. #define kIndexScope            'acIN'
  136. #define kStartupScope        'acSU'
  137. #define kAreasScope            'acTA'
  138. #define kResTopicL            'acTL'
  139.                                         // New (1.0a6) RenoDB AccWin resource types.
  140.                                         // The authoring tool does not produce these
  141.                                         // resources, but the conversion tool does.
  142.  
  143. #define    kTopicResType            'acTB'
  144. #define    kTopicResTypeLabel        "acTB"
  145.  
  146. #define kQuestionResType        'acQU'
  147. #define kQuestionResTypeLabel    "acQU"
  148.                                         // Data handler mapping resource
  149. #define kHandlerMapResType         'dhMP'
  150.  
  151.                                         // Pseudo-type for a 'TMPL' to edit
  152.                                         // the data fork using Resourcerer 1.1.1.
  153.                                         // Also set Resourcerer file preferences
  154.                                         // to edit the data fork with this label.
  155. #define kDataHeaderTypeLabel    "<DF>"
  156.  
  157.                                         // Slider data
  158. #define    kSliderScope            'acSD'
  159. #define    kSliderDirectionScope    'acSF'
  160.  
  161.                                         // database scope for topic
  162. #define kResTopic            'acPT'
  163.                                         // database scope for topic default context checks resource
  164. #define kResTopicContextChecks    'acCC'        
  165.                                         // database scopes for panel data
  166. #define kResPanelUnivA        'ppUA'
  167. #define kResPanel            'ppUA'
  168. #define kResPanelTopic        'ppPT'
  169. #define kResPanelTopicSub    'ppTS'        // launch sub-sequence
  170. #define kResPanelTopicBra    'ppTB'        // launch branch-sequence
  171.  
  172.                                         // database key dump type
  173. #define    kResKeyDump            'keys'
  174.  
  175.                                         // Resources for a topic
  176.  
  177.                                         // Panel qualifiers in the topic script:
  178.  
  179. #define kResMakeSure        'pqMS'            // Make-sure
  180. #define kShowIf                'pqSH'            // Qualify with a show condition.
  181. #define kSkipIf                'pqSK'            // Qualify with a skip condition.
  182.  
  183.                                         // Other commands in the topic script:
  184.  
  185. #define kSetNewTopicTarget    'pqNT'            // Set new target for the topic.
  186.  
  187.                                         // Conditions:
  188.  
  189. #define kResCondition        'pqCN'            // Where we start and for chaining.
  190. #define kResContext            'pxCA'            // Context
  191.                                             // Control item (see below)
  192.  
  193.                                         // Things that go in the panel:
  194.  
  195. #define kResCtrlItem        'pcCI'            // Radio button or checkbox
  196.  
  197. #define    kResGraphic            'pcGR'            // pcGR is an alias for PICT
  198. #define    kResGraphicF        'pcGF'            // pcGF is a formatted pcGR
  199.  
  200. #define kResHot                'pcHA'            // Hot area
  201.  
  202. #define kResMovie            'pcMO'            // Movie with no badge or controller.
  203. #define kResMovieB            'pcMB'            // Movie with badge visible.
  204. #define kResMovieC            'pcMC'            // Movie with controller visible.
  205.  
  206. #define kResPrompt            'pcPR'            // Prompt
  207.  
  208. #define kResRenoBtn            'pcRB'            // Reno Button
  209.  
  210. #if __NEW13DROPIN__
  211. #define    kResDropIn            'pdOB'            // Reno drop in object data resource type
  212. #define    kResDropInMask        (0xFFFF0000)
  213. #define    kResDropInGroup        (kResDropIn & kResDropInMask)
  214. #endif
  215.  
  216. #define kResActionOnCreate        'pcAC'        // Action on creation
  217. #define kResActionOnDelete        'pcAD'        // Action on deletion
  218. #define kResActionOnShow        'pcAS'        // Action on "Show"
  219. #define kResActionOnHide        'pcAH'        // Action on "Hide"
  220. #define kResActionOnShowOnce    'pcAW'        // Action on first "Show"
  221. #define kResActionOnHideOnce    'pcAE'        // Action on first "Hide"
  222.  
  223.                             // Optionally include/exclude TPoSTxtScroll
  224.                             // and TPoSTxtScrollFormat from the build.
  225. #if __WantScrollingText__
  226. #define kResSTxtS            'pcSX'            // General scrolling text
  227. #define kResSTxtSF            'pcSF'            // Formatted scrolling text
  228. #endif
  229.                                             // Text group
  230. #define kResSTxt            'pcTX'            // General styled text
  231. #define kResSTxtAlign        'pcTA'            // General text with alignment
  232. #define kResSTxtB            'pcTB'            // Text in body format
  233. #define kResSTxtT            'pcTT'            // Text in tag format
  234. #define kResSTxtF            'pcTF'            // Text in full panel format
  235. #define kResSTxtC            'pcTC'            // Text in custom format
  236. #define kResSTxtGroup        (kResSTxt & kResMaskGroup)
  237.  
  238.                                             // Transparent text group
  239. #define kResSTxtTrans        'pcVX'            // General styled text on trans.
  240. #define kResSTxtAlignTrans    'pcVA'            // Transparent text with alignment
  241. #define kResSTxtBTrans        'pcVB'            // Text in body format
  242. #define kResSTxtTTrans        'pcVT'            // Text in tag format
  243. #define kResSTxtFTrans        'pcVF'            // Text in full panel format
  244. #define kResSTxtCTrans        'pcVC'            // Text in custom format
  245. #define kResSTxtTransGroup    (kResSTxtTrans & kResMaskGroup)
  246.                                             
  247.                                             // Text-type suffixes
  248. #define kResSTxtSuffixGen       'X'
  249. #define kResSTxtSuffixAlign       'A'
  250. #define kResSTxtSuffixBody       'B'
  251. #define kResSTxtSuffixTag       'T'
  252. #define kResSTxtSuffixFull       'F'
  253. #define kResSTxtSuffixCust       'C'
  254.                                             // Formatted text
  255. #define kResSTxt0            'pcT0'            // Text using format 'pfFA' ID=kPreFormatVariable+0
  256. #define kResSTxt1            'pcT1'            // Text using format 'pfFA' ID=kPreFormatVariable+1
  257. #define kResSTxt2            'pcT2'            // Text using format 'pfFA' ID=kPreFormatVariable+2
  258. #define kResSTxt3            'pcT3'            // Text using format 'pfFA' ID=kPreFormatVariable+3
  259. #define kResSTxt4            'pcT4'            // Text using format 'pfFA' ID=kPreFormatVariable+4
  260. #define kResSTxt5            'pcT5'            // Text using format 'pfFA' ID=kPreFormatVariable+5
  261. #define kResSTxt6            'pcT6'            // Text using format 'pfFA' ID=kPreFormatVariable+6
  262. #define kResSTxt7            'pcT7'            // Text using format 'pfFA' ID=kPreFormatVariable+7
  263. #define kResSTxt8            'pcT8'            // Text using format 'pfFA' ID=kPreFormatVariable+8
  264. #define kResSTxt9            'pcT9'            // Text using format 'pfFA' ID=kPreFormatVariable+9
  265.                                             
  266.                                             // Formatted transparent text
  267. #define kResSTxtTrans0        'pcV0'            // Text using format 'pfFA' ID=kPreFormatVariable+0
  268. #define kResSTxtTrans1        'pcV1'            // Text using format 'pfFA' ID=kPreFormatVariable+1
  269. #define kResSTxtTrans2        'pcV2'            // Text using format 'pfFA' ID=kPreFormatVariable+2
  270. #define kResSTxtTrans3        'pcV3'            // Text using format 'pfFA' ID=kPreFormatVariable+3
  271. #define kResSTxtTrans4        'pcV4'            // Text using format 'pfFA' ID=kPreFormatVariable+4
  272. #define kResSTxtTrans5        'pcV5'            // Text using format 'pfFA' ID=kPreFormatVariable+5
  273. #define kResSTxtTrans6        'pcV6'            // Text using format 'pfFA' ID=kPreFormatVariable+6
  274. #define kResSTxtTrans7        'pcV7'            // Text using format 'pfFA' ID=kPreFormatVariable+7
  275. #define kResSTxtTrans8        'pcV8'            // Text using format 'pfFA' ID=kPreFormatVariable+8
  276. #define kResSTxtTrans9        'pcV9'            // Text using format 'pfFA' ID=kPreFormatVariable+9
  277.                                             
  278.                                         // In PreWin, but not in panel:
  279.  
  280. #define kResPreWinBtn        'pwRB'            // PreWin Button
  281.  
  282.                                         // Coach's Chalkboard mark
  283. #define kResCoachMark        'paCM'
  284.  
  285.                                         // Format
  286. #define kResFormat            'pfFA'
  287.  
  288.                                         // Actions
  289.  
  290. #define kResEvent            'paEV'
  291. #define kHuhTopic            'paHU'
  292.  
  293.                                         // Labels for ResEdit TMPL's.
  294.                                         // These are the "real" resources.
  295.                                         // Keep in alphabetical order.
  296.  
  297. #define kIndexScopeLabel        "acIN"
  298. #define kResTopicLabel            "acPT"
  299. #define    kSliderScopeLabel        "acSD"
  300. #define kStartupScopeLabel        "acSU"
  301. #define kAreasScopeLabel        "acTA"
  302. #define kResTopicLLabel            "acTL"
  303. #define kResVersionInfoLabel    "acVI"
  304. #define kHandlerMapResTypeLabel    "dhMP"
  305. #define kResCoachMarkLabel        "paCM"
  306. #define kResEventLabel            "paEV"
  307. #define kHuhTopicLabel            "paHU"
  308. #define kResCtrlItemLabel        "pcCI"
  309. #define kResMovieCLabel            "pcMC"
  310. #define kResMovieLabel            "pcMO"
  311. #define    kResGraphicLabel        "pcGR"
  312. #define kResHotLabel            "pcHA"
  313. #define kResPromptLabel            "pcPR"
  314. #define kResRenoBtnLabel        "pcRB"
  315. #define kResSTxtLabel            "pcTX"
  316. #define kResSTxtAlignLabel        "pcTA"
  317. #define kResFormatLabel            "pfFA"
  318. #define kResPanelUnivALabel        "ppUA"
  319. #define kResPanelLabel            "ppUA"
  320. #define kResPanelTopicLabel        "ppPT"
  321. #define kResConditionLabel        "pqCN"
  322. #define kResMakeSureLabel        "pqMS"
  323. #define kResPreWinBtnLabel        "pwRB"
  324. #define kResContextLabel        "pxCA"
  325. #define kResKeyDumpLabel        "keys"
  326.                                         // Selectors for context data.
  327.                                         // Used only for data keys and
  328.                                         // passed to context checker.
  329.                                         // kResCondition logic
  330. #define    kNone        0
  331. #define kOr            1
  332. #define kAnd        2
  333. #define kNot        1
  334. #define kDontUpdate        0
  335. #define kUpdate            1
  336.                                         // The "use-default" flag.
  337. #define kDefault        -1
  338.                                         // No maximum window height flag.
  339. #define kNoMaxHeight    9999
  340.                                         // Target options
  341. #define kTargetNone            'n***'
  342. #define kTargetSelf            's***'
  343. #define kTargetFront        'f***'
  344. #define kTargetTopic        't***'
  345. #define kTargetReno            'r***'
  346. #define kTargetEventList    'L***'
  347.  
  348.                                         // Reno's version information resource
  349. #define kVersionInfoDataID        146
  350. #define kVersionInfoAppID        147
  351.                                         // Startup preferences
  352. #define kStartPrefsID        146
  353.                                         // Resource Id's (DBRefs) for access data
  354. #define kIndexScopeID        144
  355. #define kAreasScopeID        145
  356.  
  357.                                         // AccWin topic header strings
  358. #define kResHeaderStr        'STR#'
  359. #define kHeaderStrResID        1002
  360.                                         // Access Window views
  361.                                         // (for internal and author use)
  362.                                         // WARNING:    If you add a view constant,
  363.                                         // make sure that you change kMaxV!!!
  364. #define kNotDefinedV    -1
  365. #define    kHowdyV            1
  366. #define    kAreasV            2
  367. #define    kIndexV            3
  368. #define    kLookFV            4
  369. #define kSingleHowdyV    5
  370. #define kSingleTopicV    6
  371.  
  372. #define kMinV            kHowdyV            // Lowest possible view number
  373. #define kMaxV            kSingleTopicV    // Highest possible view number
  374.  
  375.                                         // PreWin format resource id's
  376. #define kPreFormatFull        150
  377. #define kPreFormatTag        151
  378. #define kPreFormatBody        152
  379. #define kPreFormatCustom    153
  380. #define kPreFormatScroll    154
  381.                                         // Starting id for variable formats
  382. #define kPreFormatVariable    160
  383.                                         // Huh? button id
  384. #define kHuhBtnId            200
  385. #define kHuhBtnEventId        200
  386.                                         // Go Start button id
  387. #define kGoStartBtnId        201
  388. #define kGoStartBtnEventId    201
  389.                                         // App logo and title id
  390. #define kAppLogoId            501
  391. #define kAppTextId            501
  392.                                         // AccWin Howdy view strings
  393.                                         // These are TEXT resource ID's.
  394. #define kHowdyFullStrID        502
  395. #define kHowdyHalfStrID        503
  396.  
  397.                                         // These are internally-set
  398.                                         // "control" values accessible by
  399.                                         // the author's script.
  400. #define kResCtrlItemIdIsRoot    301
  401.  
  402.         // The following controls constants are copied from Controls.h
  403.         // They are used by RenoDataTypes.r and RenoData.r as resource
  404.         // keys then passed on to NewControl as the procID.
  405.         
  406.         // The default is to use the window font (proc + useWFont).
  407.         // See IM-I page I-315.
  408.  
  409. #define pushButProcRenoSysFont        0
  410. #define checkBoxProcRenoSysFont        1
  411. #define radioButProcRenoSysFont        2
  412.  
  413. #define pushButProcReno                8
  414. #define checkBoxProcReno            9
  415. #define radioButProcReno            10
  416.  
  417. #endif __RENODATA__
  418.